package br.com.leopard.erp.gym.dao.base_sistema;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import br.com.leopard.erp.gym.mapeamento.base_sistema.Perfil;
import br.com.leopard.erp.gym.mapeamento.empresa.Empresa;
import br.com.leopard.erp.gym.persistence.AbstractDAO;
import br.com.leopard.erp.gym.persistence.ParametroQueryBuilder;

@Stateless
@LocalBean
public class PerfilDAO extends AbstractDAO<Perfil, Long> {

	public PerfilDAO() {
		super(Perfil.class);
	}

	public List<Perfil> getPerfisPorNomePerfil(String perfil) {
		String query = "Perfil.findByPerfil";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("perfil", perfil);

		return super.listNamedQuery(query, builder.getParametros());
	}

	public List<Perfil> getPerfisPorNomePerfilEID(String perfil, Long idPerfil) {
		String query = "Perfil.findByPerfilEIDPerfil";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("perfil", perfil);
		builder.addParametro("idPerfil", idPerfil);

		return super.listNamedQuery(query, builder.getParametros());
	}

	public List<Perfil> listarPorEmpresa(Empresa empresa) {
		String query = "Perfil.findPerfilByEmpresaAtivo";
		
		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("empresa", empresa);
		builder.addParametro("ativo", true);
		
		return super.listNamedQuery(query, builder.getParametros());
	}
	
}
